package rifa.entidade;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "TB_RIFA")
public class Rifa implements Serializable,Entidade{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	public transient static final String nomePadrao = "galleria";

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name="ID_RIFA",nullable=false)
	private Long id;
	
	@Column(name="Ativo",nullable=true)
	private Boolean ativo;
	
	@Column(name="DATA_SORTEIO",nullable=false)
	private Date dataSorteio;
	
	@Column(name="USUARIO_VENCEDOR",nullable=false)
	private Usuario userVencedor;
	
	@Column(name="DESCRICAO",nullable=true)
	private String descricao;
	
	@Column(name="PATH_IMG",nullable=true)
	private String pathImg;
	
	@Column(name="VALOR_VENDA",nullable=false)
	private Double valor;
	
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "rifa")
	private List<Cartao> cartoes;

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "produto")
	private List<ProdutoRifa> produtoRifa;
	
	public List<ProdutoRifa> getProdutoRifa() {
		return produtoRifa;
	}

	public void setProdutoRifa(List<ProdutoRifa> produtoRifa) {
		this.produtoRifa = produtoRifa;
	}

	public List<Cartao> getCartoes() {
		return cartoes;
	}

	public void setCartoes(List<Cartao> cartoes) {
		this.cartoes = cartoes;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Boolean getAtivo() {
		return ativo;
	}

	public void setAtivo(Boolean ativo) {
		this.ativo = ativo;
	}

	public Date getDataSorteio() {
		return dataSorteio;
	}

	public void setDataSorteio(Date dataSorteio) {
		this.dataSorteio = dataSorteio;
	}

	public Usuario getUserVencedor() {
		return userVencedor;
	}

	public void setUserVencedor(Usuario userVencedor) {
		this.userVencedor = userVencedor;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getPathImg() {
		return pathImg;
	}

	public void setPathImg(String pathImg) {
		this.pathImg = pathImg;
	}

	public Double getValor() {
		return valor;
	}

	public void setValor(Double valor) {
		this.valor = valor;
	}

}
